export function getLal(address, cb) {
  var geocoder = new qq.maps.Geocoder();
  geocoder.getLocation(address);
  geocoder.setComplete(function (res) {
    cb(res);
  });
  geocoder.setError(function (err) {
    cb(err);
  });
}

// 防抖：用户触发时间过于频繁，只需要执行最后一次
export function debounce(fn, delay = 1000) {
  let timer = null;
  return function () {
    if (timer) {
      clearTimeout(timer);
    }
    timer = setTimeout(() => {
      fn.call(this); // 让this指向调用这个函数的地方。默认指向window
    }, delay);
  };
}

// 节流：控制执行的次数，多少秒内执行一次。
export function throttle(fn, delay = 1000) {
  let flag = true;
  return function () {
    if (flag) {
      setTimeout(() => {
        fn.call(this);
        flag = true;
      }, delay);
    }
    flag = false;
  };
}

// 下载文件-request.js 中return await response.blob(); 是必须的
export function downLoadFile(blob, fileName) {
  const objUrl = new Blob([blob]);
  const objectURL = URL.createObjectURL(objUrl);
  let btn = document.createElement("a");
  btn.download = fileName;
  btn.href = objectURL;
  btn.click();
  URL.revokeObjectURL(objectURL);
  btn = null;
}
